Release 10.1A: OpenEdge Development:
Progress Dynamics Administration


Planning ahead

Because deployment comes at the end of the production cycle, it is often not considered until the application is nearing its final version. However, this increases the risk of critical upgrade, integration, and quality control issues. If you want to make your applications easier to deploy, you should think about deployment at the beginning of the design process. For example, Progress Dynamics works best in configurations that use the AppServer. You should familiarize yourself with the best practices for distributing applications in an AppServer environment and use them while designing your applications.

Each deployment has its unique elements. Often, you must make trade-offs between competing factors. Which trade-offs you find acceptable might depend on what type of application you are designing. For example, a financial application would not want to reduce security to gain a little more performance.

A good practice to adopt is to create regular builds of an application throughout the development cycle. You can then test deploying the application throughout the development cycle. This allows you to notice issues and take corrective steps while your application design is more flexible.

The design of your application and the requirements of your deployment strategy impact each other. You might find that the design of a particular module of your application increases the complexity of your deployment. By redesigning the module, you might ease the deployment problems. For example, when calculated fields support was added to the Progress Dynamics framework, it had a significant impact on deployment. After seeing the deployment issues the new feature caused, the design of the feature was changed to take that into consideration.

Application design and deployment strategy are interlinked. For complex applications, a developer who understands the deployment process should be a lead contributor in the application design process. That developer would monitor the deployment aspects of all the application modules.

As Figure 5–1 shows, designing the application and designing the deployment strategy should be an iterative process.

Figure 5–1: Application design cycle

Development databases often contain test objects and other extraneous data. However, you only want to deploy the data necessary to run your application. You can simplify your deployment process by eliminating this extraneous data before you begin building a deployment.

To accomplish this, you can set up central Repository and application databases that are only used to build deployment files. Developers only promote data to this central Repository when it has been tested and is ready to deploy. With this arrangement, you do not need to spend as much time figuring out which data needs to be deployed while building your deployment files.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095